/**
 * Created by ZYY on 2016/12/7.
 */
$(function () {
    //机器人日志页面js操作
    /*解析json数据*/
    var data3 = [
        {time:"2016-12-07 10:20:05",log:"机器人1001启动",result:"成功",other_log:"其他"},
        {time:"2016-12-08 10:54:05",log:"机器人1001启动",result:"失败",other_log:"其他"},
        {time:"2016-12-06 10:45:05",log:"机器人1001启动",result:"成功",other_log:"其他"},
        {time:"2016-12-06 10:21:05",log:"机器人1001启动",result:"失败",other_log:"其他"},
        {time:"2016-12-06 10:52:05",log:"机器人1001启动",result:"成功",other_log:"其他"},
        {time:"2016-12-06 10:16:05",log:"机器人1001启动",result:"失败",other_log:"其他"},
        {time:"2016-12-06 10:44:05",log:"机器人1001启动",result:"成功",other_log:"其他"},
        {time:"2016-12-06 10:19:05",log:"机器人1001启动",result:"失败",other_log:"其他"},
        {time:"2016-12-06 10:33:05",log:"机器人1001启动",result:"成功",other_log:"其他"},
        {time:"2016-12-06 10:32:05",log:"机器人1001启动",result:"成功",other_log:"其他"},
        {time:"2016-12-07 10:17:05",log:"机器人1001启动",result:"成功",other_log:"其他"},
        {time:"2016-12-06 10:49:05",log:"机器人1001启动",result:"成功",other_log:"其他"},
        {time:"2016-12-05 10:54:05",log:"机器人1001启动",result:"失败",other_log:"其他"},
        {time:"2016-12-06 10:14:05",log:"机器人1001启动",result:"成功",other_log:"其他"},
        {time:"2016-12-06 10:11:05",log:"机器人1001启动",result:"失败",other_log:"其他"}
    ];
    //根据日期排序(降序)
    function sortLog(a,b){
        return Date.parse(a.time) - Date.parse(b.time);
    }
    /*//根据日期排序(升序)
     function sortState(a,b){
     return a > b ? 1 : -1;
     }*/

    //页面表格数据显示，参数，1：排序方法 2：当前页码 3：加数 4：json数据
    var all_log_page;// 定义一个页码，记录所有当前页码
    function showLogTb(method,nowpage,addpage,data) {
        $("#log_page ul").empty();   //清空页码ul列表
        // var url = "./getJson?method=1";
        all_log_page = nowpage + addpage ;// 获得当前页面的页码
        // $.getJSON(url, function (data) {
        /*var id = new Array();
         var message = new Array();
         var action = new Array();*/
        var flag = data.length;
        //  $.each(data.jsonArray, function(index) {
        /*id[flag] = data.jsonArray[index].id;
         message[flag] = data.jsonArray[index].message;
         action[flag] = data.jsonArray[index].action;*/
        //  flag ++;
        //    });
        //分页
        var main_pages = Math.ceil(flag/11);//总页数
        //判断调用此方法时传来的页数
        if(all_log_page <= main_pages && all_log_page > 0){ //页数大于0小于等于最多页数
            all_log_page = nowpage + addpage;
        }else {
            all_log_page = nowpage;  //否则页码不变
        }
        //根据页码，给列表元素数组定下 循环显示的开始值和结束值
        var start = (all_log_page-1) * 11;
        var end = all_log_page * 11 - 1;

        if(end >= flag){
            end = flag;
        }
        var newdata = data;
        //获得排序后的json数据
        newdata.sort(method).reverse(); //降序排列日志数据信息
        //从json中循环取出数据，DOM操作写入页面
        // var num = 0;  //数据总条数
        $("#log_center .table-responsive table tbody").empty();
        for(var i = start; i < end; i++){
            var num = i+1;
            //编写表格dom
            var str;
            if(newdata[i].result == "成功"){
                str = '<tr><td>'+num+'</td><td>'+newdata[i].time+'</td><td>'
                    +newdata[i].log+'</td><td><span style="color: #19aa8d;">'+newdata[i].result+'</span></td><td>'+newdata[i].other_log+'</td></tr>';
            }else if(newdata[i].result == "失败"){
                str = '<tr><td>'+num+'</td><td>'+newdata[i].time+'</td><td>'
                    +newdata[i].log+'</td><td><span style="color: red;">'+newdata[i].result+'</span></td><td>'+newdata[i].other_log+'</td></tr>';
            }
            //插入页面表格中
            $("#log_center .table-responsive table tbody").append(str);
        }
        //插入页码，并编写页码点击事件
        if(flag > 0){
            $("#log_page ul").append('<li id = "up"><a href="#" aria-label="Previous"> <span aria-hidden="true">&laquo;</span></a></li>');
            var s;
            for(s = 1;s<=main_pages;s++){
                var down_page = '<li><a href="#">'+s+'</a></li>';
                $("#log_page ul").append(down_page);
            }
            $("#log_page ul").append('<li id = "next"><a href="#" aria-label="Next"> <span aria-hidden="true">&raquo;</span></a></li>');
            var active_page = all_log_page +1;
            $("#log_page ul li:nth-child("+active_page+")").addClass("active");
            //页码点击事件
            //上一页
            $("#log_page ul #up").click(function(){
                showLogTb(method,nowpage,-1,data);
            })
            //下一页
            $("#log_page ul #next").click(function(){
                showLogTb(method,nowpage,1,data);
            })
            //中间 1 2 3……页
            $("#log_page ul li a").not("#log_page ul #up a,#log_page ul #next a").click(function(){
                var value = parseInt($(this).html());
                showLogTb(method,value,0,data);
            })
        }
        //  });
    }
    showLogTb(sortLog,1,0,data3);

    //状态下拉框变化监听事件
    $(".operate_result select").change(function () {
        var sortType = $(".operate_result select").val();
        switch(sortType){
            case "全部":showLogTb(sortLog,1,0,getDataByLog("全部"))
                break;
            case "成功":showLogTb(sortLog,1,0,getDataByLog("成功"))
                break;
            case "失败":showLogTb(sortLog,1,0,getDataByLog("失败"))
                break;
        }
    });
    //刷新按钮点击事件
    $("#content #log_view #log_center #log_menu .operate_bt #o_refresh").click(function () {
        //应该是重新获取json数据
        $("#txtBeginDate").val("");
        $("#txtEndDate").val("");
        showLogTb(sortLog,1,0,data3);  //重新加载表格数据
    });
    //根据日期搜索点击事件
    $("#content #log_view #log_center #log_menu .operate_bt #o_search").click(function () {
        //获得开始和结束时间
        var start_time = $("#txtBeginDate").val();
        var end_time =  $("#txtEndDate").val();
        if(start_time != null && start_time !="" && end_time != null && end_time != ""){
            //查询操作
            showLogTb(sortLog,1,0,getDataBytime(start_time,end_time));
        }else {
            alert("请选择开始和结束时间");
        }
    });
    //根据开始时间和结束时间截取json数据
    function getDataBytime(start_time,end_time) {
        var newdata = new Array();
        for(var i=0; i<data3.length; i++){
            //将时间从json字符串转换成日期格式，然后比较
            var d_time =new Date(data3[i].time.substring(0,10));  /* Date.parse(data3[i].time.substring(0,10));*/
            var s_time = new Date(start_time);
            var e_time = new Date(end_time);
            if (d_time.getTime() <= e_time.getTime() && d_time.getTime() >= s_time.getTime()){
                newdata.push(data3[i]);
            }
        }
        return newdata;
    }
    //根据状态关键字返回data数据
    function getDataByLog(keyWords){
        var newdata = new Array();
        if(keyWords == "全部"){
            newdata = data3;
        }else{
            for(var i=0; i<data3.length; i++){
                if (data3[i].result.toString().indexOf(keyWords) >= 0){
                    newdata.push(data3[i]);
                }
            }
        }
        return newdata;
    }
})
